package com.wuseguang.springcloud.service;

import com.wuseguang.springcloud.Filter.RequestParameterWrapper;
import com.wuseguang.springcloud.util.Result;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public interface SchoolManagementService {
    Result queryPersonDataByRole(Integer role);

    Result addPersonData(Integer id, String head_portrait, String admin_name, String phone, String password);

    Result queryPersonDataById(Integer id);

    Result addAgentData(Integer id, String head_portrait, String corporate_name, String address, String phone, String password, String admin_name);

    Result delPersonData(Integer id);

    Result queryDistrict(Integer id, Integer type);

    Result querySchoolAll(String name, Integer id, Integer type, Integer indexNo, Integer rows, String adminId, String role, String corporateName);

    @Transactional
    Result updateSchoolDate(Integer sid, String sname, String logo, Integer districtId, Integer tid, String tname, String phone, String password, String endtime, Integer sbnumber, Integer type, Integer areaPlatformId, Integer jingWeiDu);

    @Transactional
    Result addSchoolDate(String sname, String logo, Integer districtId, String tname, String phone, String password, String endtime, Integer sbnumber, String adminId, Integer type, Integer areaPlatformId, Integer jingWeiDu);

    Result querySchoolDateById(Integer id);

    Result delSchoolDateById(Integer id);

    Result querySchoolManagementJurisdiction(Integer schoolId);

    @Transactional
    Result addSchoolManagementJurisdiction(String menuOne, String menuTwo, Integer id);

    Result addSchoolSemester(String name, Integer schoolId, String oneTerm, String oneTime, String twoTerm, String twoTime);

    Result updateSchoolSemester(Integer id, String name, Integer schoolId, String oneTerm, String oneTime, String twoTerm, String twoTime);

    Result updateSemesterState(Integer id, Integer schoolId);

    Result querySemesterById(Integer id);

    Result querySemesterBySchoolId(Integer schoolId);

    Result querySemesterYearId(Integer schoolId);

    Result querySemesterSchoolList(String name, Integer indexNo, Integer rows);

    @Transactional
    Result updateSchoolUpgrade(Integer schoolId, Integer id);

    Result upload(String schoolId, MultipartFile file, int type);

    Result updateSchoolAdminPassword(Integer id, String password);

    Result delFaceDataByClassId(String classIds);

    Result queryClassList(Integer schoolId);

    void findNotLoggedIn(HttpServletRequest request, HttpServletResponse response, Integer sid);
}
